if !has('nvim')
	" Yet Another Remote Plugin Framework for Neovim
	Plug 'roxma/nvim-yarp'
	" build a compatibility layer for neovim rpc client working on vim8
	Plug 'roxma/vim-hug-neovim-rpc'
endif
if has('nvim')
	Plug 'antoinemadec/FixCursorHold.nvim'
endif
Plug 'inkarkat/vim-ingo-library' " Vimscript library of common functions
Plug 'xolox/vim-misc' " Miscellaneous auto-load Vim scripts
Plug 'sk1418/Join', { 'on': 'Join' }
Plug 'vim-scripts/LargeFile'
Plug 'vim-scripts/VisIncr', { 'on': ['I', 'IA'] }
" emmet-vim is a vim plug-in which provides support for expanding abbreviations similar to emmet.
Plug 'mattn/emmet-vim', { 'for': ['html', 'xml', 'vue'] }
Plug 'chrisbra/csv.vim', { 'for': 'csv' }
Plug 'dyng/ctrlsf.vim', { 'on': 'CtrlSF' }
" A better Vimdiff mergetool
Plug 'whiteinge/diffconflicts', { 'on': 'DiffConflicts' }
" Auto close parentheses and repeat by dot dot dot...
Plug 'cohama/lexima.vim'
" Unobtrusive scratch window
Plug 'mtth/scratch.vim'
" Intelligently navigate tmux panes and Vim splits using the same keys. This
" also supports SSH tunnels where Vim is running on a remote host.
Plug 'sunaku/tmux-navigate'
" Better whitespace highlighting for Vim
Plug 'ntpeters/vim-better-whitespace'
" Auto close (X)HTML tags
Plug 'alvan/vim-closetag', { 'for': ['html', 'xhtml', 'xml'] }
Plug 'tommcdo/vim-exchange', { 'on': ['<Plug>(ExchangeLine)', '<Plug>(Exchange)'] } " 用cxiw交换单词、cxi'交换‘中的文字等
" A vim plugin for highlighting and navigating through different words in a buffer.
Plug 'lfv89/vim-interestingwords'
" even better % fist_oncoming navigate and highlight matching words
" fist_oncoming modern matchit and matchparen
Plug 'andymass/vim-matchup'
" Basic support for .env and Procfile
Plug 'tpope/vim-dotenv', { 'on': 'Dotenv' }
" 重复执行操作
Plug 'tpope/vim-repeat'
" Readline style insertion
Plug 'tpope/vim-rsi'
" use CTRL-A/CTRL-X to increment dates, times, and more
Plug 'tpope/vim-speeddating', { 'on': ['<Plug>SpeedDatingUp', '<Plug>SpeedDatingDown'] }
" 对括号双引号等进行快速编辑
Plug 'tpope/vim-surround'
" Pairs of handy bracket mappings
Plug 'tpope/vim-unimpaired'
Plug 'easymotion/vim-easymotion'

"text-object plugins
Plug 'junegunn/vim-after-object' " Defines text objects to target text after the designated characters.
Plug 'kana/vim-textobj-user' " Create your own text objects
Plug 'jceb/vim-textobj-uri' " Text objects for dealing with URIs. *u*
Plug 'kana/vim-textobj-datetime' " Text objects for date and time. *da*, *dd*, *df*, *dt*, *dz*
Plug 'kana/vim-textobj-entire' " Text objects for entire buffer. *e*
Plug 'kana/vim-textobj-fold' " Text objects for foldings. *z*
Plug 'kana/vim-textobj-indent' " Text objects for indented blocks of lines. *i*, *I*
Plug 'wellle/targets.vim' " Vim plugin that provides additional text objects: ({[<t(tags)
Plug 'kana/vim-textobj-function' " Text objects for functions. *f*
Plug 'sgur/vim-textobj-parameter' " Text object for parameter. *,*
Plug 'kana/vim-textobj-syntax'

Plug 'lambdalisue/suda.vim', { 'on': ['SudaRead', 'SudaWrite'] } " An alternative sudo.vim for Vim and Neovim, limited support sudo in Windows
Plug 'jiazhoulvke/playground.vim'
Plug 'jiazhoulvke/dotvim.vim'
Plug 'dstein64/vim-startuptime'
